package cn.uce.job.api.service.biz;

import cn.uce.base.vo.CcRpCallAllDateVo;
import cn.uce.ics.base.entity.cs.RpCallalldata;
import cn.uce.ics.base.vo.srv.postal.PotevioTeleReceiveRateReq;

import java.util.List;
import java.util.Map;

/**
 * @Description: BIZ接口类
 * @author UCE-CodeGenerator
 * @date 2019年10月28日 下午02:09:12
 */
public interface IRpCallalldataBiz {
	
	/**
	 * @Description: 新增
	 * @param rpCallalldata
	 * @return 受影响行数
	 * @author UCE-CodeGenerator
	 * @date 2019年10月28日 下午02:09:12
	 */
	public int addRpCallalldata(RpCallalldata rpCallalldata);
	
	/**
	 * @Description: 修改
	 * @param rpCallalldata 
	 * @return 受影响行数
	 * @author UCE-CodeGenerator
	 * @date 2019年10月28日 下午02:09:12
	 */
	public int updateRpCallalldata(RpCallalldata rpCallalldata);
	
	/**
	 * @Description: 删除
	 * @param id 主键
	 * @return 受影响行数
	 * @author UCE-CodeGenerator
	 * @date 2019年10月28日 下午02:09:12
	 */
	public int deleteRpCallalldata(Long id);
	
	/**
	 * @Description: 根据ID查询
	 * @param id 主键
	 * @return 
	 * @author UCE-CodeGenerator
	 * @date 2019年10月28日 下午02:09:12
	 */
	public RpCallalldata findById(Long id);
	


	/**
	 * @Description: 分页查询
	 * @param rateReq
	 * @return
	 * @author UCE-CodeGenerator
	 * @date 2019年10月28日 下午02:09:12
	 */
	public List<PotevioTeleReceiveRateReq> findByList(PotevioTeleReceiveRateReq rateReq);

	/**
	 * 查话务数据库
	 * @param rateReq
	 * @return
	 */
	List<RpCallalldata> findOrcaleByList(PotevioTeleReceiveRateReq rateReq);


	public int insert(RpCallalldata req);

	public int insert(List<RpCallalldata> reqs, Map<String,Object> map);

	public String findByMaxTime(PotevioTeleReceiveRateReq rateReq);

	/**
	 * 查询前一天需要发送短信的内容
	 * @param vo
	 * @return
	 */
	List<RpCallalldata> findNeedSendMessageList(CcRpCallAllDateVo vo);

	void pushMessage(List<RpCallalldata> reqs);

    boolean getThirdDbToCcDbSwitch();

	boolean getSatisFiedMessageSwtich();
}